package com.tiankun.eurekauserinfo.proxy;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

/**
 * Created with IntelliJ IDEA
 * User: bear
 * Date: 2020/11/13
 * Description
 * Version: V1.0
 */

// 调用一个子服务模块，需要在注解中指定，名字由client的yml文件定义
//在商品模块中获取商品信息
@FeignClient(value = "EUREKA-SELL-INFO")
public interface ShopHandler {

     /*
   这里需要几个要点：
   1.这里定义的路径作用是调用client中的接口
   2.method即使只定义了get，但feign还是会检查client是否允许post请求，如果没有post请求将报错
   3.@RequestParam(value = "name")是绑定controller中的形式参数名，如果没有value属性定义也会报错
    */

    @PostMapping(value = "/shop/selectById",
            produces = MediaType.APPLICATION_JSON_VALUE)
    Map selectById(@RequestParam("id")Integer id);

}
